package com.southwind.springboottest.studykotlin.习惯用法

import com.google.gson.Gson
import com.google.gson.JsonElement
import com.google.gson.JsonParser

// 定义扩展函数
inline fun <reified T: Any> Gson.fromJson(json: JsonElement): T = this.fromJson(json, T::class.java)

fun main() {
    // 创建 Gson 实例
    val gson = Gson()

    // 创建 JSON 数据
    val jsonString = """{"name": "Alice", "age": 30}"""
    val jsonElement = JsonParser.parseString(jsonString)

    // 使用扩展函数将 JSON 解析为 User 对象
    val user: User = gson.fromJson(jsonElement)

    // 打印解析结果
    println(user) // 输出: User(name=Alice, age=30)
}
data class User(val name: String, val age: Int)
